package cn.zqy.demo2.day08.File;

import java.io.File;

/**
 * File类获取功能的方法
 *         - public String getAbsolutePath() ：返回此File的绝对路径名字符串。
 *         - public String getPath() ：将此File转换为路径名字符串。
 *         - public String getName()  ：返回由此File表示的文件或目录的名称。
 *         - public long length()  ：返回由此File表示的文件的长度。
 * */
public class Demo03MemberMethod {
    public static void main(String[] args) {
        // 无论路径是绝对的还是相对的,getAbsolutePath方法返回的都是绝对路径
        // 1.String getAbsolutePath()返回此File的绝对路径名字符串。
        File f1 = new File("E:\\Javaspace\\learnJava\\src\\cn\\zqy\\demo2\\day08");
        System.out.println(f1.getAbsolutePath());  // E:\Javaspace\learnJava\src\cn\zqy\demo2\day08
        File f2 = new File("www\\a.txt");
        System.out.println(f2.getAbsolutePath()); // E:\Javaspace\learnJava\www\a.txt
        System.out.println("==============");


        // 2.String getPath() ：将此File转换为路径名字符串。
        /*
            获取的构造方法中传递的路径 toString方法调用的就是getPath方法
        源码: public String toString() {  return getPath();}
        */
        File f3 = new File("E:\\Javaspace\\learnJava\\src\\cn\\zqy\\demo2\\day08\\a.jpg");
        File f4 = new File("b.txt");
        System.out.println(f3.getPath());  // E:\Javaspace\learnJava\src\cn\zqy\demo2\day08\a.jpg
        System.out.println(f4.getPath()); //b.txt

        System.out.println(f3);
        System.out.println(f3.toString());
        System.out.println("===============");

        // 3.String getName()  ：返回由此File表示的文件或目录的名称。
        File f5 = new File("E:\\Javaspace\\learnJava\\src\\cn\\zqy\\demo2\\day08\\bbb.png");
        File f6 = new File("E:\\Javaspace\\learnJava\\src\\cn\\zqy\\demo2\\day08");
        System.out.println(f5.getName());  //bbb.png
        System.out.println(f6.getName());  //day08
        System.out.println("============");

        // 4.long length()  ：返回由此File表示的文件的长度。
        /*
            文件夹是没有大小概念的,不能获取文件夹的大小
            如果构造方法中给出的路径不存在,那么length方法返回0
        */
        File f7 = new File("E:\\Javaspace\\learnJava\\src\\cn\\zqy\\demo2\\day08\\file\\Demo01File.java");
        File f8 = new File("E:\\Javaspace\\learnJava\\src\\cn\\zqy\\demo2\\day08");
        File f9 = new File("E:\\Javaspace\\learnJava\\src\\cn\\zqy\\demo2\\day08\\file\\File.java");
        System.out.println(f7.length());  // 1782字节
        System.out.println(f8.length());  // 文件夹都为0
        System.out.println(f9.length());  // 不存在都为0

    }
}
